package com.swe.chums.dao;

import com.swe.chums.dao.model.ActivityType;
import com.swe.chums.dao.model.ActivityTypePk;
import com.swe.chums.dao.exceptions.ActivityTypeDaoException;
import java.util.List;

public interface ActivityTypeDao
{
	/**
	 * Method 'insert'
	 * 
	 * @param dto
	 * @return ActivityTypePk
	 */
	public ActivityTypePk insert(ActivityType dto);

	/** 
	 * Updates a single row in the activity_type table.
	 */
	public void update(ActivityTypePk pk, ActivityType dto) throws ActivityTypeDaoException;

	/** 
	 * Deletes a single row in the activity_type table.
	 */
	public void delete(ActivityTypePk pk) throws ActivityTypeDaoException;

	/** 
	 * Returns all rows from the activity_type table that match the criteria 'id = :id'.
	 */
	public ActivityType findByPrimaryKey(int id) throws ActivityTypeDaoException;

	/** 
	 * Returns all rows from the activity_type table that match the criteria ''.
	 */
	public List<ActivityType> findAll() throws ActivityTypeDaoException;

	/** 
	 * Returns all rows from the activity_type table that match the criteria 'id = :id'.
	 */
	public List<ActivityType> findWhereIdEquals(int id) throws ActivityTypeDaoException;

	/** 
	 * Returns all rows from the activity_type table that match the criteria 'name = :name'.
	 */
	public List<ActivityType> findWhereNameEquals(String name) throws ActivityTypeDaoException;

	/** 
	 * Returns the rows from the activity_type table that matches the specified primary-key value.
	 */
	public ActivityType findByPrimaryKey(ActivityTypePk pk) throws ActivityTypeDaoException;

}
